package com.cloudbroker.bcs.platform.dav.bizapi.t2service.business;

import com.cloudbroker.bcs.common.entity.HSBCPSBackVO;
import com.cloudbroker.bcs.platform.dav.bizapi.constants.IFSFunctionIdsNew;
import com.cloudbroker.bcs.platform.dav.bizapi.service.base.vo.HSBCPSVO;
import com.cloudbroker.bcs.platform.dav.bizapi.service.business.customer.vo.BrokerTenantIdForm;
import com.cloudbroker.bcs.platform.dav.bizapi.service.business.customer.vo.SuggestionAddForm;
import com.cloudbroker.bcs.platform.dav.bizapi.service.business.reward.vo.BrokerIdForm;
import com.cloudbroker.bcs.platform.dav.bizapi.service.business.system.back.*;
import com.cloudbroker.bcs.platform.dav.bizapi.service.business.system.vo.*;
import com.hundsun.jresplus.remoting.impl.annotation.Service;
import com.hundsun.jresplus.remoting.impl.annotation.ServiceModule;
import com.hundsun.jresplus.remoting.impl.annotation.ServiceParam;

@ServiceModule
public interface SystemT2BizService {
    
    /**
     * 5071610 管理员增加
     */
    @Service(functionId = IFSFunctionIdsNew.IFSCommonFuncIds.FUNC_BROKER_MANAGER_SAVE, desc = "管理员增加")
    public HSBCPSBackVO funcBrokerManagerSave(@ServiceParam("param") BrokerManagerSaveForm param);
    
    /**
     * 5071611 管理员删除
     */
    @Service(functionId = IFSFunctionIdsNew.IFSCommonFuncIds.FUNC_BROKER_MANAGER_DEL, desc = "管理员删除")
    public HSBCPSBackVO funcBrokerManagerDel(@ServiceParam("param") BrokerManagerIdForm param);
    
    /**
     * 5071612 管理员信息查询
     */
    @Service(functionId = IFSFunctionIdsNew.IFSCommonFuncIds.FUNC_BROKER_MANAGER_INFO, desc = "管理员信息查询")
    public BrokerManagerInfoForm funcBrokerManagerInfo(@ServiceParam("param") BrokerManagerIdForm param);
    
    /**
     * 5071613 管理员列表
     */
    @Service(functionId = IFSFunctionIdsNew.IFSCommonFuncIds.FUNC_BROKER_MANAGER_LIST, desc = "管理员列表")
    public BrokerManagerList funcBrokerManagerList(@ServiceParam("param") HSBCPSVO param);
    
    /**
     * 5071616 权限列表
     * @param form
     * @return
     */
    @Service(functionId = IFSFunctionIdsNew.IFSCommonFuncIds.FUNC_BROKER_PERMISSION_LIST, desc = "权限列表")
    public BrokerPermissionList funcBrokerPermissionList(@ServiceParam("param") HSBCPSVO form);
    
    /**
     * 5071617 获取大V授权账户
     * @param form
     * @return
     */
    @Service(functionId = IFSFunctionIdsNew.IFSCommonFuncIds.FUNC_AUTH_BROKER, desc = "获取大V授权账户")
    public BrokerAuthInfoForm funcAuthBroker(@ServiceParam("param") HSBCPSVO form);
    
    /**
     * 5071618 设置大V授权账户
     * @param form
     * @return
     */
    @Service(functionId = IFSFunctionIdsNew.IFSCommonFuncIds.FUNC_AUTH_SET, desc = "设置大V授权账户")
    public HSBCPSBackVO funcBrokerAuthInfo(BrokerAuthSaveForm form);
    
    /**
     * 设置fans邀请码
     * @param form
     * @return
     */
    @Service(functionId = IFSFunctionIdsNew.IFSCommonFuncIds.FUNC_SET_INVITATION_CODE, desc = "设置fans邀请码")
    public HSBCPSBackVO funcSetInvitationCode(FansInvitationCodeForm form);
    
    /**
     * 获取fans邀请码
     * @param form
     * @return
     */
    @Service(functionId = IFSFunctionIdsNew.IFSCommonFuncIds.FUNC_GET_INVITATION_CODE, desc = "获取fans邀请码")
    public FansInvitationCodeResult funcGetInvitationCode(HSBCPSVO form);
    
    /**
     * 设置fans网页主标题
     * @param form
     * @return
     */
    @Service(functionId = IFSFunctionIdsNew.IFSCommonFuncIds.FUNC_HOME_PAGE_TITLE_SET, desc = "设置fans网页主标题")
    public HSBCPSBackVO funcHomePageTitleSet(HomePageTitleForm form);
    
    /**
     * 5071620 获取fans网页主标题
     * @param form
     * @return
     */
    @Service(functionId = IFSFunctionIdsNew.IFSCommonFuncIds.FUNC_HOME_PAGE_TITLE_GET, desc = "获取fans网页主标题")
    public HomePageTitleResult funcHomePageTitleGet(HSBCPSVO form);
    
    /**
     * 5071621设置在线人数开关和阈值
     * @param form
     * @return
     */
    @Service(functionId = IFSFunctionIdsNew.IFSCommonFuncIds.FUNC_SHOW_PERSON_NUM_SET, desc = "设置在线人数开关和阈值")
    public HSBCPSBackVO funcShowPersonNumSet(ShowPersonNumSetForm form);
    
    /**
     * 5071621大V端系统设置信息获取
     * @param form
     * @return
     */
    @Service(functionId = IFSFunctionIdsNew.IFSCommonFuncIds.FUNC_SYSTEM_SET_INFO_GET, desc = "大V端系统设置信息获取")
    public ConfigurableSystemSetInfoResult funcSystemSetInfoGet(HSBCPSVO form);

    /**
     * 5071627运营管理端系统主题方案获取
     * @param form
     * @return
     */
    @Service(functionId = IFSFunctionIdsNew.IFSCommonFuncIds.FUNC_SYSTEM_SKIN_INFO_GET, desc = "运营管理端系统主题方案获取")
    public ConfigurableSystemSetInfoResult funcSystemGetSkinInfo(BrokerTenantIdForm form);

    /**
     * 大V打赏充值额度配置
     * @param form
     * @return
     */
    @Service(functionId = IFSFunctionIdsNew.IFSCommonFuncIds.FUNC_PAYMENT_OPTION_SAVE, desc = "大V打赏充值额度配置")
    public HSBCPSBackVO funcPaymentOptionSave(PaymentOptionSaveForm form);
    
    /**
     * 大V打赏充值额度查询
     * @param form
     * @return
     */
    @Service(functionId = IFSFunctionIdsNew.IFSCommonFuncIds.FUNC_PAYMENT_OPTION_QRY, desc = "大V打赏充值额度查询")
    public PaymentOptionInfoForm funcPaymentOptionQry(BrokerIdForm form);
    
    /**
     * 手动更新accesstoken
     * @param form
     * @return
     */
    @Service(functionId = IFSFunctionIdsNew.IFSDavCustomerFuncIds.FUNC_REFRESH_ACCESSTOKEN, desc = "手动更新accesstoken")
    public HSBCPSBackVO funcRefreshAccessToken(HSBCPSVO form);
    
    /**
     * 意见反馈
     * @param form
     * @return
     */
    @Service(functionId = IFSFunctionIdsNew.IFSDavCustomerFuncIds.FUNC_ADD_OPINION, desc = "意见反馈")
    public HSBCPSBackVO funcAddOpinion(SuggestionAddForm form);


}
